1. Field:
The present disclosure relates generally to the scheduling of messages. More particularly, the present disclosure relates to a method and apparatus for integrating the scheduling of general messages and time-critical messages in which the time-critical messages are scheduled using a control logic that is determined by a policy that is unique to the time-critical messages.
2. Background:
Multiple end systems may communicate over a network by exchanging messages. These end systems may send and receive messages on behalf of applications hosted by the end systems. For example, a source end system may transmit messages that are sent to one or more destination end systems over the network. A destination end system may receive messages from one or more source end systems.
In an asynchronous deterministic network, the scheduling approach used by a source end system largely determines the end-to-end message latency of the asynchronous deterministic network. The end-to-end message latency includes an end system latency portion and a physical latency portion.
The end system latency portion may be the time interval from the time of completion of the writing of a message by an application to an end system to the time of completion of the transmission of the message by the end system to a switch system in the asynchronous deterministic network. The switch system may then route the message in the form of one or more packets to the intended destination or destinations. The latency that occurs in the physical components of the switch system is the physical latency portion of the end-to-end message latency of the asynchronous deterministic network.
Messages transmitted within an asynchronous deterministic network may include different types of messages. With some currently available scheduling approaches, general messages are scheduled according to bandwidth allocation gaps (BAG) associated with the communications links over which these messages are sent. A bandwidth allocation gap is a minimum time of separation between two packets in a flow of packets.
However, some types of messages may be more time-sensitive than others and may require precise timing. For example, safety messages, emergency alert messages, and other types of messages containing time-sensitive information may need to be prioritized over general messages.
Currently available scheduling approaches may treat time-critical messages in the same manner as general messages. For example, these scheduling approaches may not take into account certain characteristics of time-critical messages, which include, but are not limited to, the periodic arrival, static ordering, burst time and other parameters according to which these messages may need to be served.
Consequently, applications that depend on the precise timing of certain messages may be relegated to dealing with frequent delays and the unpredictable ordering of time-critical messages. Therefore, it would be desirable to have a method and apparatus that take into account at least some of the issues discussed above, as well as other possible issues.